import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;


public class ListaArticulo implements IDatos {
	List <Articulo> LArticulo = new Vector <Articulo>();
	//LinkedList <Articulo> LArticulo = new LinkedList <Articulo>();

public  void leerDatos(){
    String c;
    Articulo art;
     
    StringBuffer seccion = new StringBuffer();
    try {
       	BufferedReader br = new BufferedReader(new FileReader("Granero.txt"));
         while ((c = br.readLine()) != null){
             c=c.trim();
             
             art = new Articulo(); 
            
            StringBuffer pc1=new StringBuffer();
            StringBuffer pc2=new StringBuffer();
            StringBuffer pc3=new StringBuffer();
            StringBuffer pc4=new StringBuffer();
            StringBuffer pc5=new StringBuffer();
    
           if (c.length()!=0){//if1
           if (c.charAt(0)!='.'){//if2
        	   if (c.charAt(0)=='#') {
        		   seccion = new StringBuffer(c);
        		  //System.out.print(seccion);
        		   
        	   }
                    
            if (seccion.toString().compareTo("#Articulos") == 0){
        	   if(c.compareTo("#Articulos")==0)
            		continue;
  
            	Utils.tokennizar_cadena(c,pc1,pc2,pc3,pc4,pc5);
                art.setArticulo(pc1.toString(),pc2.toString(),pc3.toString(),pc4.toString(),pc5.toString());
                //this.LArticulo.add(art);
                anadirArticulo(art);
                
            }
            
     } //del if2       
     }//del if1
  } //del while
         br.close();
    }//del try
         catch(IOException e){}
    }//de leerDatos()

void anadirArticulo(Articulo unArticulo)
{
 LArticulo.add (unArticulo);
}

boolean existeArticulo(String idcod){
    Iterator<Articulo> iterArticulo = LArticulo.iterator();
        for (iterArticulo = LArticulo.iterator(); iterArticulo.hasNext(); )        
          { 
           Articulo aux_Articulo= (Articulo)iterArticulo.next(); 
           if (aux_Articulo.getCod().compareTo(idcod)==0)
               return true;
      }
    return false;
 
}

Articulo recuperarArticulo(String idcod){
    Iterator<Articulo> iterArticulo = LArticulo.iterator();
        for (iterArticulo = LArticulo.iterator(); iterArticulo.hasNext(); )        
          { 
           Articulo aux_Articulo= (Articulo)iterArticulo.next(); 
           if (aux_Articulo.getCod().compareTo(idcod)==0)
               return aux_Articulo;
      }
    return null;
}


void borrarArticulo(String idcod)
{
	Iterator<Articulo> iterArticulo = LArticulo.iterator();
    for (iterArticulo = LArticulo.iterator(); iterArticulo.hasNext(); )        
      { 
       Articulo aux_Articulo= (Articulo)iterArticulo.next(); 
       if (aux_Articulo.getCod().compareTo(idcod)==0){
    	   System.out.println("El articulo n. " + aux_Articulo.getCod() + " ha sido borrado de la lista" );
    	   LArticulo.remove(aux_Articulo);
    	   break;
   } // if
 } // for
}

void listarArticulo(Articulo a){
	System.out.println("Codigo: " + a.getCod());
	System.out.println("Nombre: " + a.getNombre());
	System.out.println("Categoria: " + a.getCategoria());
	System.out.println("Cantidad: " + a.getCantidad());
	System.out.println("Valo de Compra: " + a.getValor_compra());
}

void listarTodosArticulos(){
	
	Iterator<Articulo> iterArticulo = LArticulo.iterator();
    for (iterArticulo = LArticulo.iterator(); iterArticulo.hasNext(); )        
      { 
       Articulo a= (Articulo)iterArticulo.next(); 
	System.out.println("Codigo: " + a.getCod());
	System.out.println("Nombre: " + a.getNombre());
	System.out.println("Categoria: " + a.getCategoria());
	System.out.println("Cantidad: " + a.getCantidad());
	System.out.println("Valo de Compra: " + a.getValor_compra());
      }
}



}//de la clase ListaArticulo